package com.leizi.igym.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.leizi.igym.domain.Course;
import com.leizi.igym.dto.CourseAddDTO;
import com.leizi.igym.dto.CourseDTO;
import com.leizi.igym.dto.CoursePageQueryDTO;
import com.leizi.igym.vo.CourseGoodsVO;
import com.leizi.igym.vo.CourseVO;

import java.util.List;

/**
* @author PC
* @description 针对表【t_course(课程表)】的数据库操作Service
* @createDate 2024-04-18 16:09:16
*/
public interface CourseService extends IService<Course> {

    boolean saveInAdmin(CourseAddDTO dto);

    boolean deleteTrainerInAdmin(Long id);

    boolean deleteTrainerBatchInAdmin(List<Long> ids);

    boolean updateInAdmin(CourseDTO dto);

    CourseVO getVOById(Long id);

    QueryWrapper<Course> getPageQueryWrapper(CoursePageQueryDTO dto);

    Page<CourseVO> getVOPage(CoursePageQueryDTO dto);

    boolean changeStatus(Long id, Integer status);

    Page<CourseGoodsVO> getCourseGoodsVOPage(CoursePageQueryDTO dto);
}
